In performing data transfer between asynchronous blocks that utilize a handshake protocol, a handshake constitutes reciprocating communication for each data transfer. Accordingly, a long transfer distance and a large transfer delay of the handshake result in a decrease in a maximum transfer rate. PTLs 1 and 2, and NPL 1 make proposals for methods of preventing such a decrease in the transfer rate. For example, the following methods are known as the methods of preventing the decrease in the transfer rate.
Method 1. To use a data signal line in a plurality in parallel, in a simple handshake system. For example, to use a configuration described in a lower part of FIG. 1 of NPL 1, in a plurality.
Method 2. To evenly dispose asynchronous FIFOs (First-In First-Out) of a bucket brigade system between the asynchronous blocks (refer to an upper part of FIG. 1 of NPL 1, and PTL 2).
Method 3. To use two FIFOs, to hide a propagation delay of the handshake (refer to FIG. 6 of NPL 1, and PTL 1).